<%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%> 
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%> 
<%@taglib uri="http://richfaces.org/a4j" prefix="a4j"%> 
<%@taglib uri="http://richfaces.org/rich" prefix="rich"%>


<div id="estudianteDiv">
    <f:subview id="estudianteSubView">
        <h:form>
            <rich:tabPanel switchType="ajax" immediate="true">
                
                <%-- INICIO - Agregar estudiante --%>
                <rich:tab label="Agregar" actionListener="#{estudianteBean.resetearBean}">
                    <rich:spacer height="20px" style="border:0px"/>
                    <h1 class="title"><h:outputText value="Agregar Estudiante" /></h1>
                    <rich:separator height="2" lineType="solid"/><br/>
                    
                    <h:panelGrid columns="3" width="800" cellspacing="0" cellpadding="1" border="0" columnClasses=",,column_message">
                        <h:outputText value="Matricula:" style="font-weight:bold;" />
                        <h:inputText  id="matricula" value="#{estudianteBean.estudiante.matricula}">
                            <rich:ajaxValidator event="onblur" />
                        </h:inputText>
                        <rich:message for="matricula" ajaxRendered="true" style="color:red;" />
                        
                        <h:outputText value="Nombres:" style="font-weight:bold;" />
                        <h:inputText  id="nombres" value="#{estudianteBean.estudiante.nombres}">
                            <rich:ajaxValidator event="onblur"/>
                        </h:inputText>
                        <rich:message for="nombres" ajaxRendered="true" style="color:red;"/>
                        
                        <h:outputText value="Apellidos:" style="font-weight:bold;"/>
                        <h:inputText  id="apellidos" value="#{estudianteBean.estudiante.apellidos}">
                            <rich:ajaxValidator event="onblur" />
                        </h:inputText>
                        <rich:message for="apellidos" ajaxRendered="true" style="color:red;"/>
                        
                        <h:outputText value="Fecha de Nacimiento:" style="font-weight:bold;" />
                        <h:panelGroup>
                            <rich:calendar id="FechaNacimiento" inputSize="10" style="width:200px" datePattern="dd/MM/yyyy" locale="es" value="#{estudianteBean.estudiante.fechaNacimiento}"/>
                        </h:panelGroup>
                        <h:outputText value=""/>
                        
                        <h:outputText value="Sexo:" style="font-weight:bold;" />
                        <h:selectOneRadio value="#{estudianteBean.estudiante.sexo}">
                            <f:selectItem itemLabel="M" itemValue="M"/>
                            <f:selectItem itemLabel="F" itemValue="F"/>
                        </h:selectOneRadio>
                        <h:outputText value=""/>
                        
                        <h:outputText value="Email:" style="font-weight:bold;"/>
                        <h:inputText  id="email" value="#{estudianteBean.estudiante.email}">
                            <rich:ajaxValidator event="onblur"/>
                        </h:inputText>
                        <rich:message for="email" ajaxRendered="true" style="color:red;"/>
                        
                        <h:outputText value="Carrera:" style="font-weight:bold;" />
                        <h:selectOneMenu id="selectID" value="#{estudianteBean.pensum.pensumPK.idCarrera}">
                            <f:selectItems value="#{estudianteBean.carrerasItems}"/>
                        </h:selectOneMenu>
                        <h:outputText value=""/>
                        
                    </h:panelGrid>
                    <rich:spacer height="20px" style="border:0px"/>
                    <h:commandButton value="Agregar" action="#{estudianteBean.insertar}" />
                </rich:tab>
                <%-- FIN - Agregar estudiante --%>
                
                <%-- INICIO - Modificar estudiante --%>
                <rich:tab label="Modificar" actionListener="#{estudianteBean.resetearBean}">
                    <rich:spacer height="20px" style="border:0px"/>
                    <h1 class="title"><h:outputText value="Modificar Estudiante" /></h1>
                    <rich:separator height="2" lineType="solid"/><br/>
                    
                    <a4j:outputPanel id="pannelModificar">    
                        <h:panelGrid columns="2" width="800" cellspacing="0" cellpadding="1" border="0">
                            <h:outputText value="Matricula: " style="font-weight:bold;"/>
                            <h:inputText id="idMatricula" value="#{estudianteBean.matricula}" />
                        </h:panelGrid>
                        
                        <rich:spacer height="20px" style="border:0px"/>
                        <a4j:commandButton value="Buscar" reRender="estudianteModificar">
                            <a4j:actionparam assignTo="#{estudianteBean.tipoBusqueda}" value="1" name="TipoBusqueda" actionListener="#{estudianteBean.buscar}"/>
                        </a4j:commandButton>
                        
                        <h:panelGrid>
                            <a4j:outputPanel rendered="#{estudianteBean.estudiante.matricula != null}">
                                
                                <rich:spacer height="20px" style="border:0px"/>
                                <rich:separator/>
                                
                                <h:panelGrid  id="estudianteModificar" columns="3" width="800" cellspacing="0" cellpadding="1" border="0" columnClasses=",,column_message">
                                    <h:outputText value="Matricula: " style="font-weight:bold;"/>
                                    <h:outputText value="#{estudianteBean.estudiante.matricula}"/>
                                    <h:outputText value="" />
                                    
                                    <h:outputText value="Nombres: " style="font-weight:bold;"/>
                                    <h:inputText id="nombres2" value="#{estudianteBean.estudiante.nombres}">
                                        <rich:ajaxValidator event="onblur"/>
                                    </h:inputText>
                                    <rich:message for="nombres2" ajaxRendered="true" style="color:red;"/>
                                    
                                    <h:outputText value="Apellidos: " style="font-weight:bold;"/>
                                    <h:inputText id="apellidos2" value="#{estudianteBean.estudiante.apellidos}">
                                        <rich:ajaxValidator event="onblur"/>
                                    </h:inputText>
                                    <rich:message for="apellidos2" ajaxRendered="true" style="color:red;"/>
                                    
                                    <h:outputText value="Sexo: " style="font-weight:bold;"/>
                                    <h:selectOneRadio value="#{estudianteBean.estudiante.sexo}"  >
                                        <f:selectItem itemLabel="M" itemValue="M"/>
                                        <f:selectItem itemLabel="F" itemValue="F"/>
                                    </h:selectOneRadio>
                                    <h:outputText value="" />
                                    
                                    <h:outputText value="Feha Nacimiento: " style="font-weight:bold;"/>
                                    <rich:calendar value="#{estudianteBean.estudiante.fechaNacimiento}"/>
                                    <h:outputText value="" />
                                    
                                    <h:outputText value="Email: " style="font-weight:bold;"/>
                                    <h:inputText id="email2" value="#{estudianteBean.estudiante.email}">
                                        <rich:ajaxValidator event="onblur"/>
                                    </h:inputText>
                                    <rich:message for="email2" ajaxRendered="true" style="color:red;"/>
                                    
                                    <h:outputText value="Carrera: " style="font-weight:bold;"/>
                                    <h:outputText value="#{estudianteBean.estudiante.pensum.carrera.nombre}"/>
                                    <h:outputText value="" />
                                </h:panelGrid>
                                <rich:spacer height="20px" style="border:0px"/>
                                <a4j:commandButton value="Modificar"  actionListener="#{estudianteBean.modificar}" reRender="estudianteModificar"/>
                                <h:panelGrid>
                                    <rich:spacer height="20px" style="border:0px"/>
                                    <h:outputText value="Estudiante Modificado" rendered="#{estudianteBean.success}" style="color:blue;"/>
                                </h:panelGrid>
                            </a4j:outputPanel>
                            
                            <a4j:outputPanel rendered="#{estudianteBean.accion == false}">
                                <rich:spacer height="20px" style="border:0px"/>
                                <h:outputText value="Matricula invalida" style="color:red;"/>
                            </a4j:outputPanel>
                        </h:panelGrid>
                    </a4j:outputPanel>
                </rich:tab>
                <%-- FIN - Modificar estudiante --%>
                
                <%-- INICIO - Eliminar estudiante --%>
                <rich:tab label="Eliminar" actionListener="#{estudianteBean.resetearBean}">
                    <rich:spacer height="20px" style="border:0px"/>
                    <h1 class="title"><h:outputText value="Eliminar Estudiante" /></h1>
                    <rich:separator height="2" lineType="solid"/><br/>
                    
                    <a4j:outputPanel id="pannelEliminar">
                        <h:panelGrid columns="2">
                            <h:outputText value="Matricula: " style="font-weight:bold;"/>
                            <h:inputText value="#{estudianteBean.matricula}"/>
                        </h:panelGrid>
                        <rich:spacer height="20px" style="border:0px"/>
                        <a4j:commandButton value="Buscar" reRender="estudianteEliminar">
                            <a4j:actionparam assignTo="#{estudianteBean.tipoBusqueda}" value="1" name="TipoBusqueda" actionListener="#{estudianteBean.buscar}"/>
                        </a4j:commandButton>
                        
                        <h:panelGrid>
                            <a4j:outputPanel rendered="#{estudianteBean.estudiante.matricula != null}">
                                
                                <rich:spacer height="20px" style="border:0px"/>
                                <rich:separator/>
                                
                                <h:panelGrid  id="estudianteEliminar" columns="2" width="320" cellspacing="0" cellpadding="4" border="0">
                                    <h:outputText value="Matricula: " style="font-weight:bold;"/>
                                    <h:outputText value="#{estudianteBean.estudiante.matricula}"/>
                                    <h:outputText value="Nombres: " style="font-weight:bold;"/>
                                    <h:outputText  value="#{estudianteBean.estudiante.nombres}"/>
                                    <h:outputText value="Apellidos: " style="font-weight:bold;"/>
                                    <h:outputText value="#{estudianteBean.estudiante.apellidos}"/>
                                    <h:outputText value="Sexo: " style="font-weight:bold;"/>
                                    <h:outputText value="#{estudianteBean.estudiante.sexo}"/>
                                    <h:outputText value="Feha Nacimiento: " style="font-weight:bold;"/>
                                    <h:outputText value="#{estudianteBean.estudiante.fechaNacimiento}"/>
                                    <h:outputText value="Email: " style="font-weight:bold;"/>
                                    <h:outputText value="#{estudianteBean.estudiante.email}"/>
                                    <h:outputText value="Carrera: " style="font-weight:bold;"/>
                                    <h:outputText value="#{estudianteBean.estudiante.pensum.carrera.nombre}" />
                                </h:panelGrid>
                                <rich:spacer height="20px" style="border:0px"/>
                                <a4j:commandButton value="Eliminar"  actionListener="#{estudianteBean.eliminar}" reRender="estudianteEliminar"/>
                                <h:panelGrid>
                                    <rich:spacer height="20px" style="border:0px"/>
                                    <h:outputText value="Estudiante Eliminado" rendered="#{estudianteBean.success}" style="color:blue;"/>
                                </h:panelGrid>
                            </a4j:outputPanel>
                            
                            <a4j:outputPanel rendered="#{estudianteBean.accion == false}">
                                <rich:spacer height="20px" style="border:0px"/>
                                <h:outputText value="Matricula invalida" style="color:red;"/>
                            </a4j:outputPanel>
                        </h:panelGrid>
                    </a4j:outputPanel>
                </rich:tab>
                <%-- FIN - Eliminar estudiante --%>
                
                <%-- INICIO - Buscar estudiante --%>
                <rich:tab label="Buscar" actionListener="#{estudianteBean.resetearBean}">
                    <rich:spacer height="20px" style="border:0px"/>
                    <h1 class="title"><h:outputText value="Buscar Estudiante"/></h1>
                    <rich:separator height="2" lineType="solid"/><br/>
                    
                    <h:panelGrid columns="1">
                        <h:panelGrid columns="2" width="320" cellspacing="0" cellpadding="4" border="0">
                            <h:outputText value="Tipo de Busqueda:" style="font-weight:bold;"/>
                            <h:selectOneMenu value="#{estudianteBean.tipoBusqueda}" >
                                <f:selectItem itemValue="0" itemLabel="Seleccionar" />
                                <f:selectItem itemValue="1" itemLabel="Matricula" />
                                <f:selectItem itemValue="2" itemLabel="Carrera" />
                                <a4j:support event="onchange" reRender="pannelBusqueda" limitToList="true"/>
                            </h:selectOneMenu>
                        </h:panelGrid>
                        
                        <a4j:outputPanel id="pannelBusqueda">
                            <a4j:outputPanel rendered="#{estudianteBean.tipoBusqueda=='1'}">
                                <h:panelGrid columns="2" width="320" cellspacing="0" cellpadding="4" border="0">
                                    <h:outputText value="Matricula: "  style="font-weight:bold;"/>
                                    <h:inputText value="#{estudianteBean.matricula}"/>
                                </h:panelGrid>
                                <rich:spacer height="20px" style="border:0px"/>
                                <a4j:commandButton value="Buscar"  actionListener="#{estudianteBean.buscar}" reRender="resultado"/>
                                <h:panelGrid>
                                    <a4j:outputPanel rendered="#{estudianteBean.estudiante.matricula != null && estudianteBean.tipoBusqueda=='1'}">
                                        
                                        <rich:spacer height="20px" style="border:0px"/>
                                        <rich:separator/>
                                        
                                        <h:panelGrid  id="resultado" columns="2" width="320" cellspacing="0" cellpadding="4" border="0">
                                            <h:outputText value="Matricula: " style="font-weight:bold;"/>
                                            <h:outputText value="#{estudianteBean.estudiante.matricula}"/>
                                            <h:outputText value="Nombres: " style="font-weight:bold;"/>
                                            <h:outputText value="#{estudianteBean.estudiante.nombres}"/>
                                            <h:outputText value="Apellidos: " style="font-weight:bold;"/>
                                            <h:outputText value="#{estudianteBean.estudiante.apellidos}"/>
                                            <h:outputText value="Sexo: " style="font-weight:bold;"/>
                                            <h:outputText value="#{estudianteBean.estudiante.sexo}"/>
                                            <h:outputText value="Feha Nacimiento: " style="font-weight:bold;"/>
                                            <h:outputText value="#{estudianteBean.estudiante.fechaNacimiento}"/>
                                            <h:outputText value="Email: " style="font-weight:bold;"/>
                                            <h:outputText value="#{estudianteBean.estudiante.email}"/>
                                            <h:outputText value="Carrera: " style="font-weight:bold;"/>
                                            <h:outputText value="#{estudianteBean.estudiante.pensum.carrera.nombre}"/>
                                        </h:panelGrid>
                                    </a4j:outputPanel>
                                    <a4j:outputPanel rendered="#{estudianteBean.accion == false}">
                                        <rich:spacer height="20px" style="border:0px"/>
                                        <h:outputText value="Matricula invalida" style="color:red;"/>
                                    </a4j:outputPanel>
                                </h:panelGrid>
                            </a4j:outputPanel>
                            
                            <a4j:outputPanel rendered="#{estudianteBean.tipoBusqueda=='2'}">
                                <h:panelGrid columns="2" width="320" cellspacing="0" cellpadding="4" border="0">
                                    <h:outputText value="Carrera:" style="font-weight:bold;"/>
                                    <h:selectOneMenu  value="#{estudianteBean.idCarrera}">
                                        <f:selectItems value="#{estudianteBean.carrerasItems}"/>
                                    </h:selectOneMenu>
                                </h:panelGrid>
                                
                                <rich:spacer height="20px" style="border:0px"/>
                                <a4j:commandButton value="Buscar"  actionListener="#{estudianteBean.buscar}" reRender="tableEstudiantes"/>
                                
                                <rich:panel>
                                    <rich:dataTable value="#{estudianteBean.listEstudiante}" var="estudiante" id="tableEstudiantes" width="100%">
                                        <rich:column style="text-align:center;">
                                            <f:facet name="header">
                                                <h:outputText value="Matricula"/>
                                            </f:facet>
                                            <h:outputText value="#{estudiante.matricula}"/>
                                        </rich:column>
                                        <rich:column style="text-align:center;">
                                            <f:facet name="header">
                                                <h:outputText value="Nombres"/>
                                            </f:facet>
                                            <h:outputText value="#{estudiante.nombres}"/>
                                        </rich:column >
                                        <rich:column  style="text-align:center;">
                                            <f:facet name="header">
                                                <h:outputText value="Apellidos"/>
                                            </f:facet>
                                            <h:outputText value="#{estudiante.apellidos}"/>
                                        </rich:column >
                                    </rich:dataTable>
                                </rich:panel>
                            </a4j:outputPanel>
                        </a4j:outputPanel>
                    </h:panelGrid>
                </rich:tab>
                <%-- FIN - Buscar estudiante --%>
            </rich:tabPanel>
        </h:form>
    </f:subview>
</div>
